package com.erp.order.purchasing.service;

import com.activiti.dao.model.Activiti_SubTaskInfoRO;
import com.erp.hr.base.model.ApprovalVO;
import com.erp.hr.base.service.BaseService;
import com.erp.hr.base.vo.ResultVO;
import com.erp.hr.dao.model.HrStaff;
import com.erp.order.purchasing.model.PurchasingAudit;
import com.erp.order.purchasing.model.PurchasingRequisition;
import org.redragon.framework.hibernate.model.Pages;
import java.util.List;

/**
 * 采购审核 业务层
 * @Author: syz
 * @blame syz
 * @CreateTime: 2021/4/6
 */
public interface PurchasingAuditService extends BaseService<PurchasingAudit> {

    /**
     * 获取任务信息
     * @param processInstanceId 流程实例id
     * @return 任务信息集合
     */
    List<Activiti_SubTaskInfoRO> getTaskInfo(String processInstanceId);

    /**
     * 是否指定下一人
     * @param processInstanceId 流程实例id
     * @return 是否指定下一人
     */
    boolean isAssignNext(String processInstanceId);

    /**
     * 获取可合并列表分页数据
     * @param s 不知道干啥用的
     * @param pages 分页对象
     * @param purchasingRequisition 采购申请对象
     * @return 可合并列表分页数据
     */
    List<PurchasingRequisition> getSubPageList(String s, Pages pages, PurchasingRequisition purchasingRequisition);

    /**
     * 获取申请对象
     * @param id 申请id
     * @return 申请对象
     */
    PurchasingRequisition getSub(String id);

    /**
     * 执行审批
     * @param approvalVO 审批vo对象
     * @return 审批结果
     */
    ResultVO<String> approval(ApprovalVO approvalVO);

    /**
     * 获取采购员集合
     * @param code 采购计划编码
     * @return 采购员集合
     */
    List<HrStaff> getBuyer(String code);

}